Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Πρόβλημα στην εκτέλεση webservice....

Îåêßíçóå áðü ôï ìÝëïò DUDE!!. Τελευταία δημοσίευση από το μέλος DUDE!! στις 29-05-2009, 20:39. Υπάρχουν 6 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  28-05-2009, 19:50 51084

    Πρόβλημα στην εκτέλεση webservice....

    Δεν είμαι σίγουρος αν αυτό το post είναι για αυτό το μέρος του forum.
    λοιπον.
    φτιάχνω ένα web service σε C# στο visual studio. έχω ολοκληρώσει τον κώδικα και το κάνω start debugging και τρέχει κανονικά στον internet explorer αλλά όταν πάω να κάνω δοκιμή μου βγάζει το παρακάτω μνμ στον browser. μήπως μπορεί κάποιος να μου εξηγήσει τί σημαίνει?

    System.ArgumentOutOfRangeException: Ο δείκτης και το μήκος πρέπει να αναφέρονται σε μια θέση εντός της συμβολοσειράς.
    Όνομα παραμέτρου: length
    σε System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy)
    σε System.String.Substring(Int32 startIndex, Int32 length)
    σε Service.takedata(String separator) στο c:\Users\user\Documents\Visual Studio 2005\WebSites\testws4\App_Code\Service.cs:γραμμή 32

  •  29-05-2009, 00:24 51093 σε απάντηση της 51084

    Απ: Πρόβλημα στην εκτέλεση webservice....

    Κάνε post τον κώδικά σου γύρω από το "Service.cs:γραμμή 32". Μάλλον παίζεις με κάποιο string το οποίο έχει τιμή άλλη από αυτή που περιμένεις.

    Δοκίμασε όμως και να βάλεις ένα breakpoint στη συγκεκριμένη γραμμή και να κάνεις debug με το visual studio. Μάλλον είναι πολύ απλή περίπτωση και θα τη λύσεις εύκολα με debuging, το οποίο σίγουρα θα σε βοηθήσει και στα πιο δύσκολα...

    Αν δεν βγάλεις άκρη με το debugging μόνος σου, ρίξε μια ματιά και στο msdn: Debugging ASP.NET Web Services: http://msdn.microsoft.com/en-us/library/aa291236(VS.71).aspx
    Χρήστος Γεωργακόπουλος
  •  29-05-2009, 00:48 51100 σε απάντηση της 51093

    Απ: Πρόβλημα στην εκτέλεση webservice....

            changetofriday();
            string date = dateTimePicker1.Text;
            string day = date.Substring(0,2);
            string corday = "";
    αυτός είναι ο κώδικας και δεν μπορώ να καταλάβω γιατί δεν το πέρνει για σωστό.

  •  29-05-2009, 10:36 51105 σε απάντηση της 51100

    Απ: Πρόβλημα στην εκτέλεση webservice....

    Η λύση είναι πάρα πολύ απλή.

    Το property Text του DateTimePicker δεν περιέχει την ημερομηνία αλλά το caption του control.

    Προφανώς δεν έχεις θέσει κάποια τιμή σε αυτό οπότε είναι κενό. Ζητώντας λοιπόν τα δύο πρώτα ψηφία του κενού string παίρνεις το σφάλμα που είδες.

     

    Αυτό που χρειάζεσαι είναι το property Value του DateTimePicker. Εκεί θα βρεις την ημερομηνία που έχεις επιλέξει.

    Επίσης είναι κακή πρακτική να διαβάζεις την ημέρα από την απεικόνιση της ημερομηνίας σε string. Μόνο προβλήματα θα σου δημιουργήσει.

    Το property Value είναι τύπου DateTime οπότε έχει ένα άλλο property με το όνομα Day το οποίο με την σειρά του είναι ένας ωραιότατος Int32.

     

    Οπότε το μόνο που χρειάζεσαι είναι το:

    string day = dateTimePicker1.Value.Day.ToString();

  •  29-05-2009, 18:29 51132 σε απάντηση της 51105

    Απ: Πρόβλημα στην εκτέλεση webservice....

    thanks δίκιο έχεις αυτό ήταν. απλά με τον ίδιο τρόπο τον κώδικα σε ένα απλό windows application δεν μου έβγαζε πρόβλημα. thanks.
    τώρα όμως μου βγάζει άλλο προβλημα. "Σφάλμα διακομιστή"

    κάνω paste ακριβώς το πρόβλημα που μου έβγαλε μήπως μπορεί να μου πει κάποιος τι πρόβλημα υπάρχει

    Η μορφή αίτησης δεν είναι αναγνωρίσιμη για διευθύνσεις URL που απροσδόκητα λήγουν σε '/takedata'. body {font-family:"Verdana";font-weight:normal;font-size: .7em;color:black;} p {font-family:"Verdana";font-weight:normal;color:black;margin-top: -5px} b {font-family:"Verdana";font-weight:bold;color:black;margin-top: -5px} H1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red } H2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon } pre {font-family:"Lucida Console";font-size: .9em} .marker {font-weight: bold; color: black;text-decoration: none;} .version {color: gray;} .error {margin-bottom: 10px;} .expandable { text-decoration:underline; font-weight:bold; color:navy; cursor:hand; }

    Σφάλμα διακομιστή στην εφαρμογή '/testws4'.

    Η μορφή αίτησης δεν είναι αναγνωρίσιμη για διευθύνσεις URL που απροσδόκητα λήγουν σε '/takedata'.

    Περιγραφή: Προέκυψε μια εξαίρεση που δεν αντιμετωπίστηκε, κατά τη διάρκεια εκτέλεσης της τρέχουσας αίτησης web. Ελέγξτε την ιχνηλάτηση στοίβας για περισσότερες πληροφορίες σχετικά με το σφάλμα και την προέλευσή του στον κώδικα.

    Λεπτομέρειες της εξαίρεσης: System.InvalidOperationException: Η μορφή αίτησης δεν είναι αναγνωρίσιμη για διευθύνσεις URL που απροσδόκητα λήγουν σε '/takedata'.

    Σφάλμα προέλευσης:

    Παρουσιάστηκε μια εξαίρεση που δεν αντιμετωπίστηκε κατά την εκτέλεση της τρέχουσας αίτησης web. Πληροφορίες σχετικά με την προέλευση και τη θέση της εξαίρεσης μπορούν να προσδιοριστούν με χρήση της ιχνηλάτησης στοίβας εξαιρέσεων παρακάτω.

    Ιχνηλάτηση στοίβας:

    [InvalidOperationException: Η μορφή αίτησης δεν είναι αναγνωρίσιμη για διευθύνσεις URL που απροσδόκητα λήγουν σε '/takedata'.]
       System.Web.Services.Protocols.WebServiceHandlerFactory.CoreGetHandler(Type type, HttpContext context, HttpRequest request, HttpResponse response) +405961
       System.Web.Services.Protocols.WebServiceHandlerFactory.GetHandler(HttpContext context, String verb, String url, String filePath) +212
       System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, VirtualPath path, String pathTranslated, Boolean useAppConfig) +193
       System.Web.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +93
       System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155
    


    Πληροφορίες έκδοσης: Microsoft .NET Framework Έκδοση:2.0.50727.3074; ASP.NET Έκδοση:2.0.50727.3074

  •  29-05-2009, 20:12 51133 σε απάντηση της 51132

    Απ: Πρόβλημα στην εκτέλεση webservice....

    Το μήνυμα αναφέρει ότι υπάρχει πρόβλημα με το URL. Ποιό είναι το URL?

    Όσον αφορά το DateTimePicker σε desktop και web .... είναι εντελώς διαφορετικά controls, πως λέμε καμμία σχέση μεταξύ τους. Δεν είναι λογικό να περιμένεις να συμπεριφέρονται με τον ίδιο τρόπο.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  29-05-2009, 20:39 51135 σε απάντηση της 51133

    Απ: Πρόβλημα στην εκτέλεση webservice....

    όσο αφορά το datetimepicker ευχαριστώ για την διευκρίνησηSmile

    για το url τώρα δεν καταλαβαίνω ακριβώς πιο εννοεί. χρησιμοποιώ ένα αντικείμενο streamreader στον κωδικα και χρησιμοποιώ εκεί ένα url αλλά σίγουρα δεν εννοεί αυτό. το έχω τσεκάρει. δεν καταλαβαίνω αυτό που λέει ότι τελειώνει απροσδόκητα σε /takedata .
    takedata έχω ονομάσει την webmethod του webservice και δεν ξέρω αν θέλει κάποια επιπρόσθετη ρύθμιση εκεί. κάνω paste την αρχή αυτής της μεθόδου μήπως βοηθήσει. thanks

    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class Service : System.Web.Services.WebService
    {
        private System.Windows.Forms.DateTimePicker dateTimePicker1;
        private System.Windows.Forms.Label label1;
        private System.Windows.Forms.TextBox textBox1;

        public Service ()
        {
            //Uncomment the following line if using designed components
            InitializeComponent();
        }

        [WebMethod]
        public string takedata(string separator)
        {...........κώδικας..........}


Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems